/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.gob.dirpen.controller;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import pe.gob.dirpen.beans.LoginForm;
import pe.gob.dirpen.beans.ModuloBean;
import pe.gob.dirpen.beans.OpcionBean;
import pe.gob.dirpen.beans.UsuarioBean;
import pe.gob.dirpen.model.GestionUsuario;

/**
 *
 * @author gcarlos
 */
@Controller
public class LoginController {

    private static final Logger logger = Logger.getLogger(LoginController.class);

    @RequestMapping(value = "/inicio.htm")
    public String inicio(ModelMap model) {
        return "inicio";
    }

    @RequestMapping(value = "/validar.htm", method = RequestMethod.POST)
    public String validar(HttpServletRequest request, ModelMap model) {
        GestionUsuario gu = new GestionUsuario();
        LoginForm vf = new LoginForm();
        vf.setPassword(request.getParameter("password"));
        vf.setUsuario(request.getParameter("usuario"));
        List<UsuarioBean> listaUsuario = gu.validarUsuario(vf);
        if (!listaUsuario.isEmpty()) {
            List<ModuloBean> listaModulo = gu.obtenerModuloAcceso(listaUsuario.get(0));
            List<OpcionBean> listaOpcion = gu.obtenerOpcionModulo(listaModulo, listaUsuario.get(0));
            request.getSession().setAttribute("listaUsuario", listaUsuario);
            request.getSession().setAttribute("listaModulo", listaModulo);
            request.getSession().setAttribute("listaOpcion", listaOpcion);
            return "principal";
        } else {
            request.setAttribute("valida", false);
            return "inicio";
        }
    }

    @RequestMapping(value = "/listaOpcionesPerfil.htm")
    public String listaOpcionesPerfil(ModelMap model) {
        return "jsonOpcionesPerfil";
    }

    @RequestMapping(value = "/obtenerDatosUsuario.htm")
    public String obtenerDatosUsuario(ModelMap model) {
        return "general/jsonDatosUsuario";
    }
}
